Meta-level “Change-Design” Instruments for Enhanced Software Changeability during Evolution
نویسنده
چکیده
The central theme of this paper is enhancing the visibility of changes in order to retain good structure, simplicity and changeability of an evolving software system. Other related practical problems addressed in the paper are avoiding explosion of similar component versions, dealing with the impact of multiple changes affecting software during evolution, and reuse of features across system releases, while also allowing each system release to evolve in own direction, interpedently of other releases. We point to certain difficulties to address the above problems with conventional “design for change” and Software Configuration Management techniques. We then propose to alleviate the problems with meta-level extensions to conventional techniques. The proposed approach is based on separation of change specifications (contained in meta-level structures) from architectureand implementation-level program structures of an evolving system. In short-term, our approach eases day-to-day maintenance. In long-term, the approach provides means to unify similar evolution patterns with metalevel generics, helping us address the above mentioned evolution problems. By “similar evolution patterns” we mean both similar patterns of change specifications, as well as similarities among system components affected by changes. The approach paves the way to reuse-based evolution in which we manage multiple versions of a software system released to customers from a core of generic, reusable software representations.
منابع مشابه
A Change Impact Model for Changeability Assessment in Object-Oriented Software Systems
Growing maintenance costs have become a major concern for developers and users of software systems. Changeability is an important aspect of maintainability, especially in environments where software changes are frequently required. In this work, the assumption that high-level design has an influence on maintainability is carried over to changeability and investigated for that quality characteri...
متن کاملAn Evaluation of Maintainability of Aspect-Oriented Systems: a Practical Approach
Maintenance of software systems is becoming major concern for software developers and users. In software projects/products, where software changes/updates are frequently required to improve software quality, maintainability is an important characteristic of ISO 9126 quality standard to evaluate. Analyzability, changeability, stability, and testability are sub attributes/characteristics of maint...
متن کاملX Design Properties and Evolvability of Object-Oriented Systems
Over the years, cumulative data have shown that maintenance is a major cost concern, as a matter of fact, a growing cost concern (Pigosky, 1997). The maintainability of a system seems to have much influence on the ease or difficulty to implement changes. A consensus has emerged that the maintainability of a software system is dependent on its design (Rombach, 1990), in the procedural paradigm a...
متن کاملDesign Properties and Object-Oriented Software Changeability
The assessment of the changeability of software systems is of major concern for buyers of the large systems found in fast-moving domains such as telecommunications. One way of approaching this problem is to investigate the dependency between the changeability of the software and its design, with the goal of finding design properties that can be used as changeability indicators. In our research,...
متن کاملChangeability Evaluation Model for Object Oriented Software
Changeability has a direct relation to software maintainability and has a major role in providing high quality maintainable and trustworthy software. The concept of Changeability is a major factor when we design and develop software and its constituents. Developing programs and its constituent components with good changeability continually improves and simplifies test operations and maintenance...
متن کامل